using Arrowgene.Buffers;
using Arrowgene.Ddon.Shared.Network;

namespace Arrowgene.Ddon.Shared.Entity.PacketStructure
{
    public class S2CInstanceTreasurePointGetListRes : IPacketStructure
    {
        public PacketId Id => PacketId.S2C_INSTANCE_TREASURE_POINT_GET_LIST_RES;

        public S2CInstanceTreasurePointGetListRes()
        {
        }

        public C2SInstanceTreasurePointGetListReq ReqData { get; set; }

        public class Serializer : PacketEntitySerializer<S2CInstanceTreasurePointGetListRes>
        {
            public override void Write(IBuffer buffer, S2CInstanceTreasurePointGetListRes obj)
            {
                C2SInstanceTreasurePointGetListReq req = obj.ReqData;
                switch(req.Data0)
                {
                    case 11:
                        WriteByteArray(buffer, Data0);
                        break;

                    case 13:
                        WriteByteArray(buffer, Data1);
                        break;

                    case 12:
                        WriteByteArray(buffer, Data2);
                        break;

                    case 14:
                        WriteByteArray(buffer, Data3);
                        break;

                    default:
                        WriteByteArray(buffer, Data1Spare);
                        break;
                }
            }

            public override S2CInstanceTreasurePointGetListRes Read(IBuffer buffer)
            {
                S2CInstanceTreasurePointGetListRes obj = new S2CInstanceTreasurePointGetListRes();
                return obj;
            }

            private readonly byte[] Data0 =
            {
                0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xB, 0x0, 0x0, 0x0, 0x5,
                0x0, 0x0, 0x0, 0x0, 0x0, 0x22, 0xE9, 0x81, 0xBA, 0xE8, 0xB7, 0xA1, 0xE8, 0xA7, 0xA3, 0xE3,
                0x81, 0x8D, 0xE3, 0x81, 0x97, 0xE6, 0x89, 0x8B, 0xE3, 0x81, 0x8C, 0xE3, 0x81, 0x8B, 0xE3, 0x82,
                0x8A, 0xE3, 0x80, 0x8A, 0x31, 0xE3, 0x80, 0x8B, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x22, 0xE9,
                0x81, 0xBA, 0xE8, 0xB7, 0xA1, 0xE8, 0xA7, 0xA3, 0xE3, 0x81, 0x8D, 0xE3, 0x81, 0x97, 0xE6, 0x89,
                0x8B, 0xE3, 0x81, 0x8C, 0xE3, 0x81, 0x8B, 0xE3, 0x82, 0x8A, 0xE3, 0x80, 0x8A, 0x32, 0xE3, 0x80,
                0x8B, 0x1, 0x0, 0x0, 0x0, 0x2, 0x0, 0x22, 0xE9, 0x81, 0xBA, 0xE8, 0xB7, 0xA1, 0xE8, 0xA7,
                0xA3, 0xE3, 0x81, 0x8D, 0xE3, 0x81, 0x97, 0xE6, 0x89, 0x8B, 0xE3, 0x81, 0x8C, 0xE3, 0x81, 0x8B,
                0xE3, 0x82, 0x8A, 0xE3, 0x80, 0x8A, 0x33, 0xE3, 0x80, 0x8B, 0x1, 0x0, 0x0, 0x0, 0x3, 0x0,
                0x22, 0xE9, 0x81, 0xBA, 0xE8, 0xB7, 0xA1, 0xE8, 0xA7, 0xA3, 0xE3, 0x81, 0x8D, 0xE3, 0x81, 0x97,
                0xE6, 0x89, 0x8B, 0xE3, 0x81, 0x8C, 0xE3, 0x81, 0x8B, 0xE3, 0x82, 0x8A, 0xE3, 0x80, 0x8A, 0x34,
                0xE3, 0x80, 0x8B, 0x1, 0x0, 0x0, 0x0, 0x4, 0x0, 0x22, 0xE9, 0x81, 0xBA, 0xE8, 0xB7, 0xA1,
                0xE8, 0xA7, 0xA3, 0xE3, 0x81, 0x8D, 0xE3, 0x81, 0x97, 0xE6, 0x89, 0x8B, 0xE3, 0x81, 0x8C, 0xE3,
                0x81, 0x8B, 0xE3, 0x82, 0x8A, 0xE3, 0x80, 0x8A, 0x35, 0xE3, 0x80, 0x8B, 0x1, 0xB8, 0x26, 0x91,
                0x2F, 0xC5, 0xD4, 0xCF, 0x14, 0x41, 0xA
            };
            private readonly byte[] Data1 =
            {
                0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xD, 0x0, 0x0, 0x0, 0x5,
                0x0, 0x0, 0x0, 0x0, 0x0, 0x22, 0xE5, 0x8F, 0xA4, 0xE5, 0xA2, 0x93, 0xE8, 0xA7, 0xA3, 0xE3,
                0x81, 0x8D, 0xE3, 0x81, 0x97, 0xE6, 0x89, 0x8B, 0xE3, 0x81, 0x8C, 0xE3, 0x81, 0x8B, 0xE3, 0x82,
                0x8A, 0xE3, 0x80, 0x8A, 0x31, 0xE3, 0x80, 0x8B, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x22, 0xE5,
                0x8F, 0xA4, 0xE5, 0xA2, 0x93, 0xE8, 0xA7, 0xA3, 0xE3, 0x81, 0x8D, 0xE3, 0x81, 0x97, 0xE6, 0x89,
                0x8B, 0xE3, 0x81, 0x8C, 0xE3, 0x81, 0x8B, 0xE3, 0x82, 0x8A, 0xE3, 0x80, 0x8A, 0x32, 0xE3, 0x80,
                0x8B, 0x1, 0x0, 0x0, 0x0, 0x2, 0x0, 0x22, 0xE5, 0x8F, 0xA4, 0xE5, 0xA2, 0x93, 0xE8, 0xA7,
                0xA3, 0xE3, 0x81, 0x8D, 0xE3, 0x81, 0x97, 0xE6, 0x89, 0x8B, 0xE3, 0x81, 0x8C, 0xE3, 0x81, 0x8B,
                0xE3, 0x82, 0x8A, 0xE3, 0x80, 0x8A, 0x33, 0xE3, 0x80, 0x8B, 0x1, 0x0, 0x0, 0x0, 0x3, 0x0,
                0x22, 0xE5, 0x8F, 0xA4, 0xE5, 0xA2, 0x93, 0xE8, 0xA7, 0xA3, 0xE3, 0x81, 0x8D, 0xE3, 0x81, 0x97,
                0xE6, 0x89, 0x8B, 0xE3, 0x81, 0x8C, 0xE3, 0x81, 0x8B, 0xE3, 0x82, 0x8A, 0xE3, 0x80, 0x8A, 0x34,
                0xE3, 0x80, 0x8B, 0x1, 0x0, 0x0, 0x0, 0x4, 0x0, 0x22, 0xE5, 0x8F, 0xA4, 0xE5, 0xA2, 0x93,
                0xE8, 0xA7, 0xA3, 0xE3, 0x81, 0x8D, 0xE3, 0x81, 0x97, 0xE6, 0x89, 0x8B, 0xE3, 0x81, 0x8C, 0xE3,
                0x81, 0x8B, 0xE3, 0x82, 0x8A, 0xE3, 0x80, 0x8A, 0x35, 0xE3, 0x80, 0x8B, 0x1, 0xB8, 0x26, 0x91,
                0x2F, 0xC5, 0xD4, 0xCF, 0x14, 0x41, 0xA
            };
            private readonly byte[] Data2 =
            {
                0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xC, 0x0, 0x0, 0x0, 0x5,
                0x0, 0x0, 0x0, 0x0, 0x0, 0x22, 0xE7, 0xA7, 0x98, 0xE6, 0xB4, 0x9E, 0xE8, 0xA7, 0xA3, 0xE3,
                0x81, 0x8D, 0xE3, 0x81, 0x97, 0xE6, 0x89, 0x8B, 0xE3, 0x81, 0x8C, 0xE3, 0x81, 0x8B, 0xE3, 0x82,
                0x8A, 0xE3, 0x80, 0x8A, 0x31, 0xE3, 0x80, 0x8B, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x22, 0xE7,
                0xA7, 0x98, 0xE6, 0xB4, 0x9E, 0xE8, 0xA7, 0xA3, 0xE3, 0x81, 0x8D, 0xE3, 0x81, 0x97, 0xE6, 0x89,
                0x8B, 0xE3, 0x81, 0x8C, 0xE3, 0x81, 0x8B, 0xE3, 0x82, 0x8A, 0xE3, 0x80, 0x8A, 0x32, 0xE3, 0x80,
                0x8B, 0x1, 0x0, 0x0, 0x0, 0x2, 0x0, 0x22, 0xE7, 0xA7, 0x98, 0xE6, 0xB4, 0x9E, 0xE8, 0xA7,
                0xA3, 0xE3, 0x81, 0x8D, 0xE3, 0x81, 0x97, 0xE6, 0x89, 0x8B, 0xE3, 0x81, 0x8C, 0xE3, 0x81, 0x8B,
                0xE3, 0x82, 0x8A, 0xE3, 0x80, 0x8A, 0x33, 0xE3, 0x80, 0x8B, 0x1, 0x0, 0x0, 0x0, 0x3, 0x0,
                0x22, 0xE7, 0xA7, 0x98, 0xE6, 0xB4, 0x9E, 0xE8, 0xA7, 0xA3, 0xE3, 0x81, 0x8D, 0xE3, 0x81, 0x97,
                0xE6, 0x89, 0x8B, 0xE3, 0x81, 0x8C, 0xE3, 0x81, 0x8B, 0xE3, 0x82, 0x8A, 0xE3, 0x80, 0x8A, 0x34,
                0xE3, 0x80, 0x8B, 0x1, 0x0, 0x0, 0x0, 0x4, 0x0, 0x22, 0xE7, 0xA7, 0x98, 0xE6, 0xB4, 0x9E,
                0xE8, 0xA7, 0xA3, 0xE3, 0x81, 0x8D, 0xE3, 0x81, 0x97, 0xE6, 0x89, 0x8B, 0xE3, 0x81, 0x8C, 0xE3,
                0x81, 0x8B, 0xE3, 0x82, 0x8A, 0xE3, 0x80, 0x8A, 0x35, 0xE3, 0x80, 0x8B, 0x1, 0xB8, 0x26, 0x91,
                0x2F, 0xC5, 0xD4, 0xCF, 0x14, 0x41, 0xA
            };
            private readonly byte[] Data3 =
            {
                0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xE, 0x0, 0x0, 0x0, 0x3,
                0x0, 0x0, 0x0, 0x0, 0x0, 0x22, 0xE5, 0xAE, 0x9D, 0xE5, 0xA1, 0x94, 0xE8, 0xA7, 0xA3, 0xE3,
                0x81, 0x8D, 0xE3, 0x81, 0x97, 0xE6, 0x89, 0x8B, 0xE3, 0x81, 0x8C, 0xE3, 0x81, 0x8B, 0xE3, 0x82,
                0x8A, 0xE3, 0x80, 0x8A, 0x31, 0xE3, 0x80, 0x8B, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x22, 0xE5,
                0xAE, 0x9D, 0xE5, 0xA1, 0x94, 0xE8, 0xA7, 0xA3, 0xE3, 0x81, 0x8D, 0xE3, 0x81, 0x97, 0xE6, 0x89,
                0x8B, 0xE3, 0x81, 0x8C, 0xE3, 0x81, 0x8B, 0xE3, 0x82, 0x8A, 0xE3, 0x80, 0x8A, 0x32, 0xE3, 0x80,
                0x8B, 0x1, 0x0, 0x0, 0x0, 0x2, 0x0, 0x22, 0xE5, 0xAE, 0x9D, 0xE5, 0xA1, 0x94, 0xE8, 0xA7,
                0xA3, 0xE3, 0x81, 0x8D, 0xE3, 0x81, 0x97, 0xE6, 0x89, 0x8B, 0xE3, 0x81, 0x8C, 0xE3, 0x81, 0x8B,
                0xE3, 0x82, 0x8A, 0xE3, 0x80, 0x8A, 0x33, 0xE3, 0x80, 0x8B, 0x1, 0xB8, 0x26, 0x91, 0x2F, 0xC5,
                0xD4, 0xCF, 0x14, 0x41, 0xA
            };
            private readonly byte[] Data1Spare =
            {
                0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xD, 0x0, 0x0, 0x0, 0x5,
                0x0, 0x0, 0x0, 0x0, 0x0, 0x22, 0xE5, 0x8F, 0xA4, 0xE5, 0xA2, 0x93, 0xE8, 0xA7, 0xA3, 0xE3,
                0x81, 0x8D, 0xE3, 0x81, 0x97, 0xE6, 0x89, 0x8B, 0xE3, 0x81, 0x8C, 0xE3, 0x81, 0x8B, 0xE3, 0x82,
                0x8A, 0xE3, 0x80, 0x8A, 0x31, 0xE3, 0x80, 0x8B, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x22, 0xE5,
                0x8F, 0xA4, 0xE5, 0xA2, 0x93, 0xE8, 0xA7, 0xA3, 0xE3, 0x81, 0x8D, 0xE3, 0x81, 0x97, 0xE6, 0x89,
                0x8B, 0xE3, 0x81, 0x8C, 0xE3, 0x81, 0x8B, 0xE3, 0x82, 0x8A, 0xE3, 0x80, 0x8A, 0x32, 0xE3, 0x80,
                0x8B, 0x1, 0x0, 0x0, 0x0, 0x2, 0x0, 0x22, 0xE5, 0x8F, 0xA4, 0xE5, 0xA2, 0x93, 0xE8, 0xA7,
                0xA3, 0xE3, 0x81, 0x8D, 0xE3, 0x81, 0x97, 0xE6, 0x89, 0x8B, 0xE3, 0x81, 0x8C, 0xE3, 0x81, 0x8B,
                0xE3, 0x82, 0x8A, 0xE3, 0x80, 0x8A, 0x33, 0xE3, 0x80, 0x8B, 0x1, 0x0, 0x0, 0x0, 0x3, 0x0,
                0x22, 0xE5, 0x8F, 0xA4, 0xE5, 0xA2, 0x93, 0xE8, 0xA7, 0xA3, 0xE3, 0x81, 0x8D, 0xE3, 0x81, 0x97,
                0xE6, 0x89, 0x8B, 0xE3, 0x81, 0x8C, 0xE3, 0x81, 0x8B, 0xE3, 0x82, 0x8A, 0xE3, 0x80, 0x8A, 0x34,
                0xE3, 0x80, 0x8B, 0x1, 0x0, 0x0, 0x0, 0x4, 0x0, 0x22, 0xE5, 0x8F, 0xA4, 0xE5, 0xA2, 0x93,
                0xE8, 0xA7, 0xA3, 0xE3, 0x81, 0x8D, 0xE3, 0x81, 0x97, 0xE6, 0x89, 0x8B, 0xE3, 0x81, 0x8C, 0xE3,
                0x81, 0x8B, 0xE3, 0x82, 0x8A, 0xE3, 0x80, 0x8A, 0x35, 0xE3, 0x80, 0x8B, 0x1, 0xB8, 0x26, 0x91,
                0x2F, 0xC5, 0xD4, 0xCF, 0x14, 0x41, 0xA
            };

        }

    }
}
